import { axios } from "../../request/myAxios"
import regeneratorRuntime from "../../lib/runtime"
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    async rankPower({ detail }) {
      console.log('详情', detail)
      const { encryptedData, iv, rawData, signature, userInfo } = detail;
      // 调用登录接口，获取code
      // 第一种方法
      // wx.login({
      //   success: ({ code }) => {

      //   },
      // });
      // 第二种
      // wx.login().then(({ code }) => {
      //   console.log(code);
      // })
      try {
        const { code } = await wx.login();
        const { token } = await axios({
          url: "/users/wxlogin",
          method: "POST",
          data: {
            encryptedData,
            iv,
            rawData,
            signature,
            code
          }
        });
        console.log('结果', token);
        //获取到了token，跳转到上一页
        if (token) {
          wx.showToast({
            title: '登录成功',
            icon: 'success',
            mask: true,
            success: (result) => {
              //获取当前页面栈 数组
              let currentPages = getCurrentPages();
              //当页面栈的长度大于1 跳转到上一页
              if (currentPages.length > 1) {
                // 跳转到上一页
                wx.navigateBack({
                  delta: 1
                });
              }
            },

          });


        }
        wx.setStorageSync('userInfo', userInfo);
        wx.setStorageSync('token', token);
        //子向父组件传递一个事件，将userInfo传递过去
        this.triggerEvent('updateUserInfo', { userInfo });

      } catch (error) {
        wx.showToast({
          title: '授权失败，请重试',
          icon: 'none',
          mask: true
        });
        console.log(error);


      }

    },

  }
})
